﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Entidades
{
    public class Producto
    {
        #region Constructores
        

        //este se utiliza para agregar producto,
        public Producto(string  paramMarca, string paramModelo, string paramNombreProducto, decimal paramPrecio, int paramCantidad, string paramDescripcion)
        {

            
                if(paramCantidad == null | paramMarca == "" | paramModelo == "" | paramNombreProducto == "" | paramPrecio == null   )
                {
                    throw new Exception("ERROR: Todos los campos son obligatorios.");
            
                }
            
            this.NombreProducto = paramNombreProducto;
            this.Marca = paramMarca;
            this.Modelo = paramModelo;
            this.Precio = paramPrecio;
            this.cantidad = paramCantidad;
            this.Descripcion = paramDescripcion;
            
        }
    
        //este metodo se utiliza para listar todos los productos o listar los productos que hayan sido filtrados
        public Producto(string paramNombreProducto, string paramMarca, string paramModelo,decimal paramPrecio, int paramCantidad,string paramDescripcion,int paramCodProducto)
        {
           
            this.NombreProducto = paramNombreProducto;
            this.Marca = paramMarca;
            this.Modelo = paramModelo;
            //string valor = string.Format("{0:N2}", n);

            this.Precio = paramPrecio;
            this.cantidad = paramCantidad;
            this.Descripcion = paramDescripcion;
            this.CodigoProducto = paramCodProducto;
            //this.Monto = paramPrecio * paramCantidad; // el atributo monto lo voy a mostrar en la ventana de vender para mostrar el monto de lo q se esta vendiendo
        }

        public Producto(string paramNombreProducto, string paramMarca, string paramModelo, decimal paramPrecio, int paramCantidad, string paramDescripcion, int paramCodProducto,decimal paramMonto)
        {

            this.NombreProducto = paramNombreProducto;
            this.Marca = paramMarca;
            this.Modelo = paramModelo;
            //string valor = string.Format("{0:N2}", n);

            this.Precio = paramPrecio;
            this.cantidad = paramCantidad;
            this.Descripcion = paramDescripcion;
            this.CodigoProducto = paramCodProducto;
            this.Monto = paramMonto;  // el atributo monto lo voy a mostrar en la ventana de vender para mostrar el monto de lo q se esta vendiendo
        } 
        #endregion

        #region Atributos

        public int CodigoProducto { get; set; }
        public string NombreProducto { get; set; }
        public string  Marca { get; set; }
        public string Modelo { get; set; }
        public decimal Precio { get; set; }        
        public int cantidad { get; set; }
        public string Descripcion { get; set; }
        public decimal Monto { get; set; }
        
        #endregion
    }
}
